#include "textflag.h"

// 定义函数LoopPrint，并将其栈帧大小设置为24字节
TEXT ·LoopPrint(SB), $24

// 将第一个传入参数赋给栈底的8字节元素，相当于将数据保存到第一个局部变量中
MOVQ a+0(FP), AX
MOVQ AX, t-24(SP)

// 将第二个传入参数赋给自栈底算起的第二个8字节元素，相当于将数据保存到第二个局部变量中
MOVQ b+8(FP), BX
MOVQ BX, t-16(SP)

// 定义LOOP_IF标签
LOOP_IF:

// 将两个变量的值分别赋值给AX、BX寄存器
MOVQ t-24(SP), AX
MOVQ t-16(SP), BX

// 对AX，BX进行比较，当AX大于等于BX时，直接跳转到LOOP_END，结束循环
CMPQ AX, BX
JGE LOOP_END

// AX小于等于BX时，将第一个局部变量的值赋给栈顶元素，并调用打印函数println()函数
MOVQ t-24(SP), AX
MOVQ AX, t-8(SP)
CALL ·println(SB)

// 将第一个局部变量的值加1，并跳转到LOOP_IF位置。再次执行两个局部变量比较->打印第一个局部变量
ADDQ $1, t-24(SP)
JMP LOOP_IF

//结束循环，退出函数的执行
LOOP_END:
RET
